NSMutableString
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
NSString对象中的字符串是不可更改的,这意味着,一但你建立了NSString字符串对象,它的内容就不再可更改,这样做是为了优化代码效率。
如果你要修改一个字符串对象,你需要使用NSString
的子类NSMutableString
类来创建对象。所有使用NSString
类的地方都可以用NSMutableString
来替代。
对于NSString类来说,修改一个字符串的内容是不可能的,但这对于NSMutableString类来说,非常容易。
下面我们用stringWithFormat
方法建立一个NSMutableString
类的对象:
NSString *name = @"Brainstorm";
NSMutableString *str;
str = [NSMutableString stringWithFormat: @"Hi!, %@", name];
记住:当调用NSString
的stringWithFormat
方法时,返回的是一个NSString
类的对象,当调用NSMutableString
的stringWithFormat
方法时,返回的是一个NSMutableString
类的对象。
注意:用@”...”
结构创建的静态字符串对象永远是不可更改的。
NSMutableString类的对象很少去真正修改一个字符串,大部分情况是根据原有字符串生成一个新的字符串。
NSMutableString类中比较有用的一个方法是appendString
(追加),该方法的参数就是需要追加的字符串了。请看如下代码:
NSString *name = @"Brainstorm";
NSString *greeting = @"Hello";
NSMutableString *s;
s = AUTORELEASE ([NSMutableString new]);
[s appendString: greeting];
[s appendString: @", "];
[s appendString: name];
下面的代码的结果与上面是一样的:
NSString *name = @"Brainstorm";
NSString *greeting = @"Hello";
NSMutableString *s;
s = [NSMutableString stringWithFormat: @"%@, %@", greeting, name];
在线练习
{$ activeFileHint $}